Changelog

Everything new in TopStats, newest first.

v1.35.0

Oct 31, 2026

Graph a reported value as it changes, with more detail over time.

Widgets

  • -Latest: a new measure for number properties that shows the most recent value reported, instead of adding or averaging them. Use it for values you send on a schedule, like server count or ping.
  • -Charts over time show more points: one per minute for the last hour, every 15 minutes for 24 hours, every 2 hours for 7 days, every 12 hours for 30 days and one per day for 90 days.
  • -Custom date ranges also show up to 100 points, down to one per minute.

Alerts

  • -Alerts on a number property can watch its latest value.

v1.34.1

Oct 19, 2026

Stat widgets now have the Y-axis setting for their trend line.

Widgets

  • -Stat widgets now have the Y-axis setting. Pick Fit to data to make a small change on a large number, like 1,580 to 1,600, easy to see in the trend line.
  • -Single-number widgets shown as a line or area now apply their Y-axis setting to the trend line. Before, the setting was shown but had no effect.
  • -The Y-axis setting is hidden on a single-number widget with a goal, because the goal bar replaces the trend line.

v1.34.0

Oct 19, 2026

A consistent look and feel across every page and dialog.

Everywhere

  • -Pages share the same widths, headers and layout, and no longer jump sideways when a scrollbar appears.
  • -Dropdowns, checkboxes and switches now use one consistent style instead of the browser defaults.
  • -Every dialog has a title, a short description, a close button and the same Cancel and confirm buttons.
  • -Save buttons stay disabled until you change something.
  • -Empty lists all show the same friendly empty message.
  • -Remove, Revoke and other destructive actions share one red style.
  • -Dates and times follow your workspace time format everywhere, including 12-hour time.
  • -Optional fields are marked "(optional)" and every text field shows an example.
  • -Scrollbars are slimmer and match the app.

Navigation

  • -The top bar shows where you are, and the sidebar scrolls on short screens so every page stays reachable.
  • -Opening a link to a page while signed out now takes you back to that page after you sign in.
  • -The workspace menu now only lists workspaces. Account and Sign out are in your profile menu.
  • -Fixed buttons sometimes needing a second click right after closing a dialog.

Dashboards and widgets

  • -Chart axes and legends use short numbers like 32K, while tooltips and tables show the full number.
  • -Charts no longer skip an axis label, and single-series charts, funnels and heatmaps share one colour.
  • -Tooltips name the series instead of showing "value", and a widget that fails to load has a Retry button.
  • -Alert on this now opens the new alert form right on the dashboard.
  • -The widget editor puts Title first, lets you search sources and keeps Cancel and Add widget at the bottom too.
  • -New widgets are named after your data labels or a readable version of the event name.
  • -Annotations use the app calendar and colour swatches.
  • -Game and bot templates are marked Coming soon.

Events, actors and groups

  • -The environment switch sits in the same place on every page.
  • -Event payloads look the same everywhere, hide internal fields and round long decimals.
  • -Actors and groups now show their real totals per event type.
  • -The Live switch no longer shifts the toolbar when paused.

Settings and account

  • -Environments, API keys and group keys share one layout, and renaming an environment has its own Save button.
  • -Account sections each have a short description, and verified, connected and two-factor status use the same badge.

v1.33.0

Oct 19, 2026

Choose how chart y-axes scale, including a custom range.

Widgets

  • -Line, area and bar charts now have a Y-axis setting with four choices: Start at zero, Fit to data, Fit to data with padding, and Custom range. Small changes on a large number, like a guild count moving from 1,580 to 1,600, are now easy to see.
  • -Fit to data with padding leaves a little room above and below the line and uses round numbers on the axis.
  • -Custom range lets you set a Min, a Max or both. Leave Min blank to start at zero, or Max blank to fit the top to your data.
  • -Axis labels on zoomed-in charts show enough detail to tell neighbouring values apart, so a narrow range no longer repeats the same label.
  • -The setting carries through to public dashboards and status pages. 100% stacked charts always start at zero.

v1.32.1

Oct 18, 2026

Billing, alerts, usage and setup fixes.

Billing

  • -Plan changes, cancellations, card updates and payment emails now go through even if the first attempt to process them hits a temporary error.
  • -A paid workspace can no longer be switched back to Free, or lose white-label, because of an old, abandoned or out-of-date payment update.
  • -Turning off white-label no longer cancels your plan, and you can no longer be charged twice for a plan or for white-label.
  • -Upgrading while already paying for white-label now adds the plan to your existing subscription instead of starting a second one.
  • -Payment receipts and the plan picker now describe your plan simply as Paid, instead of showing internal volume names.
  • -The update payment method dialog now shows an error instead of loading forever when the card form cannot be opened.

Workspaces

  • -Workspaces with complimentary paid access can now add extra environments and invite teammates, and the workspace switcher shows the right plan instead of Free.
  • -Fixed "too many requests" errors that could appear on dashboards, sign-in and password reset when lots of people were using TopStats at the same time.

Alerts and status pages

  • -Alerts created with "Alert me" on an issue now count only that issue's errors, not every event with the same name. Recreate older issue alerts to get this.
  • -Events you hide on the Events page no longer count toward alerts or stat badges.
  • -An outage no longer occasionally opens the same incident twice or logs the same status change twice.
  • -Alert notifications, digest emails and automatic incidents are no longer lost when the service restarts during an update.

Flags

  • -The Readout button no longer appears on flags split per group, which used to show a misleading 0% result because readouts can only measure individual users.

Events and usage

  • -Events dated more than an hour in the future or more than 24 months back are now rejected with a clear error instead of being stored.
  • -Top-N chart limits are capped at 100 rows.
  • -Events that fail to save no longer count toward your monthly usage.

Demo

  • -Funnel and retention widgets in the live demo now show the demo's data instead of staying empty.

Setup

  • -The Discord bot, Minecraft and FiveM install instructions now match the real plugins and packages, and the home page shows the correct Node.js package name.

v1.32.0

Sep 4, 2026

Over-time charts now show zeros for quiet periods.

Widgets

  • -Over-time charts fill every time bucket in the range, showing 0 where no events happened instead of skipping straight to the next bucket with data. Quiet stretches now look quiet rather than vanishing. Applies to counts, sums and unique counts; averages and percentiles keep skipping empty buckets, since an average of nothing is not 0.
  • -A new "Fill gaps with zero" option in the widget editor turns this off per widget. It is on for every widget by default, including existing ones.
  • -Stat sparklines follow the same rule, so a lull no longer compresses the trend line.

v1.31.0

Aug 31, 2026

Mute noisy event types in the Events view.

Events

  • -Mute an event type from the left rail to keep it out of the live list - handy when a heartbeat event floods the view. Muted types stay dimmed in the rail, still count everywhere else, and clicking one still shows its events. Muting is per browser and per environment.

v1.30.1

Aug 29, 2026

Template dashboards now chart every event their integration sends.

Templates

  • -The Discord bot and CS2 server templates now include widgets for their stats heartbeat and map rotation events, so connecting the integration no longer flags that data as having no widget.
  • -The "new datapoint with no widget" notice now recognises events used inside funnels, retention and KPI widgets, and no longer counts note or external widgets as coverage.

v1.30.0

Aug 28, 2026

Templates now install into their own environment.

Templates

  • -Installing a template now creates a dedicated environment for it, named after the template. Two templates that use the same event names - every game template tracks player joins - no longer mix their data. Reinstalling a template reuses its environment.
  • -The connect step mints one API key per installed template, each scoped to that template's environment and already dropped into its setup snippet.
  • -Template detail pages preview every widget with sample data - counters, charts, heatmaps, retention grids and funnels - so you can see what you get before installing.
  • -Publish to the marketplace from inside the app: any dashboard's New menu now has Marketplace template. Your published templates live in workspace settings with their review status, repo verification, version sync and a README install-count badge.

Site

  • -The blog is now on the main site at /blog.

v1.29.0

Aug 28, 2026

Dashboard templates: install a ready-made dashboard in one click.

Templates

  • -The template marketplace is live at /templates. Six official templates - Minecraft, Discord bots, FiveM, Rust, Counter-Strike 2 and web services - each a full dashboard wired to the events its integration already sends.
  • -Installing a template copies it into your workspace as an ordinary dashboard: edit it, extend it, delete it. Nothing ties it back to the template.
  • -Every template page lists exactly which events it expects and which integration sends them, so you know it will work before you install.
  • -Community templates: export any dashboard as a template through the API, and after review it appears in the marketplace alongside the official ones. Link a GitHub repo and prove ownership with a topstats.json file for a verified badge, then keep the marketplace in step with your releases via repo sync.
  • -Install-time event mapping: if your events use different names than a template expects, rename them during install and the dashboard is rewritten to match - no runtime indirection.
  • -A coverage check on every template page shows signed-in visitors which required events their workspace is already ingesting before they install.
  • -Template authors get a live install-count badge for their README.
  • -Creating a dashboard now starts by asking what you want to track: pick any number of integrations and a ready-made dashboard is created for each, or skip and start from an empty canvas exactly as before.

v1.28.0

Aug 27, 2026

Signed up with Discord and email separately? Merge them.

Account

  • -Linking a Discord account that already has its own TopStats account no longer dead-ends. You now get a clear explanation and a merge option: verify the Discord account is yours and everything it owns - workspaces, memberships, the Discord sign-in itself - moves into the account you are signed in as, and the duplicate is deleted.
  • -The merge asks for fresh Discord verification and shows exactly what will move before anything happens; cancelling changes nothing.

v1.27.0

Aug 26, 2026

Our first data report: the Discord bot popularity curve.

Site

  • -The Discord Bot Popularity Curve: an original data report from the 50,475 bots tracked on bots.topstats.gg. One bot collects 30 percent of all monthly votes cast for the top 1,000; the top 100 collect 92.9 percent; and votes and installs turn out to rank very different bots.

v1.26.0

Aug 26, 2026

A public pricing page, and guides for every game and SDK.

Site

  • -Pricing has its own page at /pricing: the free plan, the volume slider, and answers to the questions people actually ask - what counts as an event, what happens when you go over, refunds and team members.
  • -Eight use-case guides under /for cover Minecraft, Discord bots, FiveM and RedM, Rust, Garry’s Mod, Unturned, Roblox and Counter-Strike 2 - what each integration tracks automatically, how to install it in minutes, and answers to common questions.
  • -Every language has its own SDK page under /sdks with install and first-event snippets for Node.js, Python, Go, PHP, Rust, C#, Java, Kotlin, Ruby, Elixir, Swift and Lua.
  • -The comparison page now also covers Plausible and Fathom.

v1.25.0

Aug 26, 2026

Analytics for every stack: 14 new integrations in one release.

Game servers

  • -Garry's Mod, Rust (Oxide and Carbon), Unturned (OpenMod), Roblox, and Counter-Strike 2 (CounterStrikeSharp) all get official integrations. Each one tracks player sessions with durations and a periodic server stats feed the moment your API key is set, identifies players by their platform id so name changes never split a history, and exposes a track call for your own events.
  • -The FiveM resource officially covers RedM too: one build for both CitizenFX games, with a source option to keep them apart in your workspace.

Web frameworks

  • -One line of setup now gets automatic request analytics on nine stacks: Express, Fastify, Hono, and NestJS on Node; FastAPI, Django, and Flask on Python; net/http, Gin, Echo, and Fiber on Go; Laravel plus PSR-15; Rails and any Rack app; Axum and Actix on Rust; Spring Boot, plain servlet containers, and Ktor on the JVM; ASP.NET Core; and Phoenix.
  • -Every middleware records the route template rather than the raw URL, so ids never flood your properties, along with method, status, duration, and errors. All of them support ignore lists, sampling, and an optional hook to attribute requests to your signed-in users.

Platform

  • -Data retention is now enforced on a schedule: events and feature flag exposures past your plan’s retention window are cleaned up automatically, and deleting a workspace now removes its flag exposure data too.

v1.24.0

Aug 25, 2026

FiveM servers get a drop-in resource.

Integrations

  • -The official FiveM resource is out. Drop it into your server, set your API key in server.cfg, and player connects, drops with session length, and a server stats feed appear in your workspace. Players are identified by their license, so the same person stays one actor across sessions and restarts.
  • -Any resource on the server can post its own events through the same client with exports.topstats:track(). Nothing content-shaped is ever sent: no chat, no positions.
  • -Under it sits a new Lua client, built so the Garry's Mod integration can share the exact same core.

v1.23.0

Aug 25, 2026

Discord bots get one-line analytics.

Integrations

  • -The official discord.js integration is out. Attach it to your bot client with one line and guild joins and leaves, slash command usage, shard health, errors, and a periodic bot stats feed appear in your workspace, with no tracking code of your own. A track() method posts your own events through the same pipeline.
  • -Nothing content-shaped is ever sent: no message text and no command options. Message counting exists but is off unless you turn it on.

v1.22.0

Aug 25, 2026

The Minecraft plugin is here.

Integrations

  • -The official Minecraft plugin is out: one file that works on Spigot and Paper servers from 1.8.8 through current. Drop it in, add your API key, and player joins, quits with session length, deaths, first-time joins, and a full server health feed appear in your workspace.
  • -The server health feed covers tick rate, tick time, memory, loaded chunks, entities, player counts, and more, each as its own chartable value, plus an instant event whenever the server freezes for longer than a threshold you set.

v1.21.0

Aug 24, 2026

Every language client is here.

Integrations

  • -Official Rust, C#, Java, Kotlin, Ruby, Elixir, and Swift clients are out, completing the set of eleven alongside Node.js, Python, Go, and PHP. Each one batches your events, retries failed sends, handles timestamps for you, and supports feature flags.
  • -The landing page language list now shows all eleven, each linking to its package or repository, and no longer lists any language as coming soon.

v1.20.0

Aug 24, 2026

Python, Go, and PHP clients arrive.

Integrations

  • -Official Python, Go, and PHP clients are out, alongside the Node.js package. Each one batches your events, retries failed sends, handles timestamps for you, and supports feature flags. They are on GitHub now and installable straight from the repo, with package-registry releases to follow.
  • -The language list on the landing page now links each available language to its package or repository.

v1.19.0

Aug 24, 2026

The official Node.js package is here.

Integrations

  • -Node.js now has an official package: install @topstats/analytics from npm and send events with a couple of lines. It batches your events, retries failed sends, and handles timestamps for you.
  • -The install snippet in the app and the connect step for a new dashboard now use the package, with a link to it on npm. Sending plain HTTP requests still works everywhere, and the curl example remains.

v1.18.2

Aug 12, 2026

Deep bot links forward to the bot site.

Discord bots

  • -A topstats.gg/discord/bots/<id> link with a path after the id (for example /leaderboard) now forwards to the bot site too, instead of only the bare bot page.

v1.18.1

Aug 12, 2026

Delete a status page.

Status pages

  • -A status page can now be deleted from its Settings tab, which removes the page along with its components and incidents.

v1.18.0

Aug 12, 2026

Give your actors a readable label.

Events

  • -Send an optional "_actorLabel" with an event to give an actor a human-readable name. The Actors page shows the label when set and keeps the raw actor id underneath, so identity and retention are unchanged.

v1.17.1

Aug 11, 2026

Create a status page straight from the sidebar.

Status pages

  • -The New dashboard button in the sidebar now offers the Dashboard vs Status page choice too, so you can start a status page without opening the dashboards page first.

v1.17.0

Aug 11, 2026

Status pages: publish a public status page for your service.

Status pages

  • -Create a status page from the New dashboard menu and publish it at a public link (topstats.gg/status/...). Add components grouped into sections, each with a status and a 90-day uptime bar.
  • -A component can be set by hand or driven by one of your alerts, so it goes down automatically when the alert fires.
  • -Post incidents with a running update timeline (investigating, identified, monitoring, resolved); a firing alert can open one for you.
  • -Show your live TopStats charts on the same page, so visitors see real metrics alongside the status.
  • -On white-label, point a custom domain at a status page and add custom CSS to match your brand.
  • -The previous Monitors (live concurrency) view has been replaced by status pages.

Dashboards

  • -The custom date range now opens from a calendar: click the calendar icon next to the presets, pick a start and end day, and Apply. Choosing a preset again clears the custom range.

v1.16.0

Aug 11, 2026

Set a custom date range on a dashboard to reach data beyond the presets.

Dashboards

  • -Pick a custom From and To date on a dashboard, not just the 1h to 90d presets, so you can look back across your full retention window (handy on longer retention where the old presets could not reach older data). The chart detail adjusts to the range you choose, and switching back to a preset clears the custom range.

v1.15.1

Aug 11, 2026

A right-side legend widens to fit the longest series name.

Dashboards

  • -A legend placed on the right of a chart now grows its width to fit the longest series name and keeps each name on one line, so a label is never wrapped or cut off.

v1.15.0

Aug 11, 2026

Sort a chart legend by value, highest first by default.

Dashboards

  • -When a chart legend shows each series value, you can now sort the legend by that value: highest first (the default), lowest first, or the chart order. Only the legend reorders, the chart itself is unchanged.

v1.14.1

Aug 11, 2026

Right-side chart legends never cut off a series name.

Dashboards

  • -A legend placed on the right of a chart now wraps long series names onto multiple lines instead of trimming them, so a label is never cut off.

v1.14.0

Aug 11, 2026

Search all events by value, resize charts, and a working Activity feed.

Events

  • -Search every event for a property value, for example type "guild_count:7141" to find all matching events across your whole history, not just the ones currently on screen. Supports greater-than, less-than and text-contains too.

Activity

  • -The Activity feed now actually records what happens in your workspace: editing or deleting a widget, editing a dashboard, and creating, editing or deleting segments and alerts all show up, alongside the member and dashboard changes it already tracked.

Dashboards

  • -Drag the bottom edge of any chart widget to resize its height, as well as typing an exact height.
  • -The legend position and legend value options now appear for every chart that has a legend, including charts broken down by numeric key and pie charts.

v1.13.0

Aug 11, 2026

White-label domains drop TopStats branding and keep out non-members.

White-label

  • -Dashboards shared or embedded from your custom domain now unfurl with your own brand: your name, logo and colours in the link preview, browser tab and social card, with no TopStats branding.
  • -Someone who is not a member of your workspace and signs in on your domain now lands on a branded "you are not part of this workspace" page asking them to contact an admin, instead of seeing the app.

v1.12.0

Aug 11, 2026

Browse older events, and size charts with a side legend and clearer tooltips.

Events

  • -Set a "Before" time on the Events page to jump back and browse older events, so you can find and hide a bad reading from any point in the past, not just the most recent ones.

Charts

  • -Set a custom height on any chart widget, so a busy graph gets the room it needs.
  • -Move a chart legend to the right-hand side instead of the bottom, now on every chart type.
  • -Hover tooltips always sit on top, so a large legend no longer hides the values you are reading.

v1.11.0

Aug 10, 2026

Flags, Segments, Issues, Monitors, Groups and Data labels are now on paid plans.

Plans

  • -Flags, Segments, Issues, Monitors, Groups and Data labels are now part of every paid plan, unlocked from the lowest tier up.
  • -On the free plan these pages show what the feature does and a side-by-side comparison of everything you get on free versus paid.
  • -A new prompt in the sidebar makes it easy to see the full free versus paid breakdown at any time.

v1.10.0

Aug 10, 2026

Hide bad events so your charts correct themselves.

Events

  • -Select one or more events on the Events page and hide them; they disappear from every chart straight away, so a wrong reading no longer skews your graphs.
  • -Undo right after hiding, or reopen the Hidden view any time before they are removed to bring them back.
  • -Hidden events are permanently deleted after 24 hours. Hiding does not change your billed event count.

v1.9.2

Aug 10, 2026

Fix an error when switching a widget away from break down by key.

Widgets

  • -Fixed an error ("metric.property is required") that could appear after choosing "each numeric key" and then switching the breakdown to something else; the measure now falls back to a count so the widget stays valid.

v1.9.1

Aug 10, 2026

The Sessions page is now called Monitors.

Monitors

  • -The Sessions page is now Monitors, and lives at /monitors. It is the same live concurrency, per-shard health and offline alerts, just a clearer name.

v1.9.0

Aug 10, 2026

Break a widget down by each number in an event.

Widgets

  • -Break down by key: for an event that carries a number for every key, like a socket stats event with a count for each gateway event type, chart one series per key with each summing that key’s value over the range. Choose "each numeric key" under Break down by.

v1.8.0

Aug 10, 2026

A big release: live sessions, four new alert types, grouped errors, usage nudges, custom environments and live badges.

Sessions

  • -New Sessions page: see how many sessions or players are live right now over your chosen range, with the peak marked, all worked out from the events you already send.
  • -Per-shard breakdown: one line per server or shard, so you can see where your players are and which shard is busiest.
  • -Session length: a distribution of how long sessions last, with the median and 90th percentile.
  • -Server health: a per-shard table of peak players, average and 95th percentile latency, tick rate and crash count, with a health line you can overlay on the players chart.
  • -Alert if a shard goes quiet: turn any shard into a "no events for N minutes" offline alert in one click.
  • -The page remembers your setup, and can suggest the right heartbeat event and health properties from your data.

Alerts

  • -Funnel conversion drop: get paged when a funnel stops converting, watching the end-to-end rate or a single step, below a percentage you choose.
  • -Retention decay: get paged when a chosen return day or week for your newest complete cohort falls below a percentage.
  • -Concentration: get paged when a single actor takes an unusually large share of a metric, a simple cheat and abuse signal that names the actor in the alert.
  • -Silence: get paged when a normally busy event goes quiet for longer than you allow, with a last-seen readout.
  • -All four work with your existing Discord, Slack, webhook and email channels.

Issues

  • -New Issues page: the errors and exceptions your app reports are grouped into deduplicated issues, ranked by how often they happen, so a flood of the same error reads as one line.
  • -Errors that differ only in a number, id or quoted value are treated as the same issue, so the count reflects a real problem rather than every unique message.
  • -Open an issue to see how many times it happened, how many actors and sources it hit, a trend over time, a sample stack trace, and its top actors and sources.
  • -Alert me: turn any issue into an alert in one click, choosing the threshold, window, severity and where to be notified.

Usage

  • -A usage meter in the sidebar shows how many of this month’s events you have used against your plan.
  • -You now get a heads-up banner at 70% and 90% of your monthly events, and a clear notice when you reach the cap, so a Free workspace is never silently cut off.
  • -The Upgrade link from a usage nudge opens the upgrade page already sized to the volume you are on track to need this month.

Environments

  • -Create custom environments in Settings, each with its own name and slug, so you can keep streams like staging or preview separate from live.
  • -Rename an environment at any time; Production is always kept and cannot be removed.
  • -Every environment picker across the app, from keys and dashboards to flags, alerts, actors and the events stream, now lists your own environments.

Badges

  • -Turn any counter widget on a public dashboard into a live SVG badge for your README, Discord or website; it always shows the current value and links back to the dashboard.
  • -Create, copy the Markdown or HTML snippet, and revoke badges from the dashboard Share dialog.

v1.7.0

Aug 8, 2026

Analyse by account, server or guild with Groups.

Groups

  • -New Groups page: pick a property that identifies an account, server or guild (like guild_id or tenant_id) and see them ranked by activity, each with its own detail timeline.
  • -Configure your group key in Settings, chosen from the properties your events already send.
  • -Funnels and retention can count groups instead of individual actors: switch a widget to Group to measure how many accounts converted or came back.
  • -Per-group alerts: an above or below alert can fire when any single group crosses the threshold, not just the workspace total.

v1.6.0

Aug 8, 2026

Roll features out behind flags and read out their impact.

Flags

  • -New Flags page: create boolean or percentage rollout flags per environment, switch them on or off, and set the rollout percentage inline.
  • -Percentage flags let you bucket the rollout per actor or per group.
  • -Run a readout on any flag to compare treatment against control on a funnel or retention goal, with the conversion rates, lift, confidence and a significance badge.

v1.5.2

Aug 6, 2026

Counter widgets show their full-width trend sparkline again.

Dashboards

  • -Fixed counter widgets so their trend sparkline fills the card width again instead of shrinking to a sliver.

v1.5.1

Aug 6, 2026

Pages settle into place with loading skeletons instead of jumping.

Loading

  • -The whole app now shows a loading placeholder that matches the real layout, so the sidebar, top bar and page no longer pop in against a blank screen.
  • -Dashboards show placeholder cards while they load, so the board no longer jumps from a line of text to the full grid.
  • -Events, Actors, Alerts, Segments and Data labels show placeholder rows while they load, instead of a "Loading..." line that shifts everything when the data arrives.
  • -Counter widgets keep their height while loading, so the number no longer shrinks into place.

v1.5.0

Aug 5, 2026

Put your own brand and domain on the whole app with white-label.

White-label

  • -New white-label add-on (€10/month): serve the entire app on your own domain, with your own logo, product name and colours.
  • -Add a custom domain in Settings, point it at us with a simple CNAME record, and verify it in one click.
  • -Upload your logo (same as your workspace image) and set your product name.
  • -Choose a full colour palette (background, cards, text and accent) with a live preview; combinations that would be hard to read are flagged and blocked so the app always stays legible.
  • -Your white-label domain is private: visitors land on your branded sign-in, and search engines are asked not to index it.
  • -A domain pointed at us but not set up yet shows a white-label pitch instead of a plain sign-in.

Discord

  • -Subscribe and everyone in your workspace automatically gets the subscriber role in our Discord server; it is removed again when the subscription ends.
  • -Already subscribed? Join the Discord server and the role is granted on the next sync, no need to ask.

v1.4.0

Aug 1, 2026

Choose exactly which widgets your email digests include.

Email digests

  • -Pick which of a dashboard’s widgets go in each digest, instead of every counter being sent automatically.
  • -Digests now include breakdowns and tables (their top rows), not just counters, so lists like your top servers come through again.

v1.3.0

Jul 31, 2026

See who changed what in your workspace.

Workspace

  • -New Activity page: a log of who created or deleted dashboards, invited or removed members, changed member roles, and created alerts.

v1.2.2

Jul 30, 2026

Discord bot links on the main site now take you to the bot site.

Links

  • -Add "stats" to any top.gg bot link and it takes you to that bot on the Discord bot site: top.gg/bot/123 becomes topstats.gg/bot/123.
  • -Bot pages asked for on the main site (topstats.gg/bot/... and topstats.gg/discord/bots/...) now forward to the Discord bot site instead of showing a not-found page.

v1.2.1

Jul 28, 2026

Set up two-factor by scanning a QR code.

Account

  • -Set up two-factor by scanning a QR code with your authenticator app, instead of typing the key by hand.

v1.2.0

Jul 28, 2026

Two-factor authentication to keep your account secure.

Account

  • -Turn on two-factor authentication from your account settings, using an authenticator app and one-time codes.
  • -Save backup codes when you set it up so you can still sign in if you lose your authenticator.

v1.1.0

Jul 27, 2026

A redesigned widget editor, widget filters, more measures and a full-number option.

Widget editor

  • -Redesigned so the live preview stays pinned beside the options while you build, with a more compact type picker and much less scrolling.
  • -Filters: narrow a widget to just the events that match your conditions (is, is not, contains, has value), or load a saved segment as a starting point.

Measurements

  • -New ways to measure a numeric property: median, 90th, 95th and 99th percentile, and standard deviation, alongside count, sum, average, min, max and unique.
  • -The new measures work on both dashboard widgets and alerts.

Display

  • -Show full numbers: a per-widget option to display the exact value (12,345) instead of the shortened form (12.3k).

v1.0.1

Jul 24, 2026

Easier-to-read event payloads in the actor view.

Actors

  • -Event payloads now have syntax highlighting on a darker panel, so keys, text and numbers are easy to tell apart at a glance.

v1.0.0

Jul 23, 2026

The first stable release of TopStats analytics.

Dashboards

  • -Build dashboards from counters, time series, breakdowns, tables, funnels, retention, heatmaps, histograms and KPI rows.
  • -Filter a whole dashboard by a saved segment or a single actor, save it as the default, or override it just for your view.
  • -Share a dashboard with a public link or embed it, and set a per-dashboard time range and environment.

Events

  • -Live event stream with a clear play and pause toggle.
  • -Structured search such as map:desert or level>50, alongside plain text search.

Actors

  • -Explore the users and servers behind your events, ranked by activity.
  • -Open any actor to see their stats, event mix and recent activity, and expand any event to read its full payload.

Alerts

  • -Create alerts on any metric with threshold or anomaly conditions.
  • -Get notified by email or Slack, and turn any widget into an alert in one click.

Segments and data

  • -Save reusable segments and rename raw data labels for friendlier charts.
  • -Bring in external sources as widgets, and send data over our HTTP API or OpenTelemetry.

Account

  • -A new account menu in the top right for your profile, notifications and this changelog.
  • -Workspace invitations now live in Notifications, with a flare when something new arrives.

Your first event is minutes away.

Twelve language SDKs, middleware for nine web frameworks, plugins for seven games, and raw HTTP - all working today. Free plan, 2M events a month, no card.